package connection;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;


/**
 * @author senai
 */
public class TesteConnection {
	
	public static void main(String[] args) throws SQLException {
		//1 Obtenha uma instancia de ConnectionManager
		ConnectionManager cm = ConnectionManager.getInstance();
		
		//2 Obtenha uma conexao por meio de ConnectionManager
		Connection connection = cm.getConnection();
		
		//3 Obtenha uma instancia de DatabaseMetaData por meio da conexao
		DatabaseMetaData dm = connection.getMetaData();
		
		//4 verifique a versao do driver que voc est utilizando
		System.out.println("Versao do driver: ");
		System.out.print( dm.getDriverVersion() );
		
		//5 verifique a versao do bando de dados que voce esta utilizando
		System.out.println("\nVersao do bando de dados: ");
		System.out.print( dm.getDatabaseProductVersion() );
		
		//6 verifique se o o banco de dados tem suporte a transacoes
		System.out.println("\nSuporte a transacoes? ");
		System.out.print( dm.supportsTransactions() ? "Sim" : "Nao");
		
		//7 veririque se o banco tem suporte a select for update (bloqueios).
		System.out.println("\nSuporte a select for update (bloqueios) ? ");
		System.out.print( dm.supportsSelectForUpdate() ? "Sim" : "Nao");

		//8 feche a conexao com o banco de dados utilizando ConnectionManager
		cm.closeConnection(connection);
	}
}
